1. Field of the Invention
The present invention relates generally to help systems for computer programs, and more particularly relates to help systems that use hyperlinks therein.
2. Description of the Prior Art
It is known to provide documentation for the purpose of permitting a user to operate a data processing system. With the earliest data processing systems, this documentation took the form of user manuals which described the operation and utilization of the corresponding data processing system.
As systems were designed to be more interactive, it became common to provide user documentation within the data processing software itself. Today, many application programs provide help systems for assisting in the use of the application program. Often, these help systems are accessed by a help menu, whereby the user views the desired help information by selecting the appropriate category from the help menu. One such help system is that provided by the Microsoft Windows(trademark) operating system and compatible applications.
In the Microsoft Windows(trademark) operating system, a help engine is typically provided which interprets and displays the desired help information. For Microsoft Windows(trademark) compatible applications, the help information is typically compiled into a xe2x80x9c.hlpxe2x80x9d file, which is compatible with the Microsoft Windows(trademark) help engine. The Windows(trademark) help engine reads the compiled help database, and displays the desired information in the Microsoft Windows(trademark) environment.
For Microsoft Windows(trademark) compatible application programs, identifiers are often placed in the executable code of the application program. Corresponding identifiers are provided in the compiled help file. The correspondence between the identifiers in the application program and the identifiers in the help file is often provided in a correspondence table contained in the compiled help file. By providing this correspondence, the selection of a particular help topic within the application program may retrieve the corresponding help information from the compiled help file.
A limitation of this approach is that help information can only be added or updated by providing a new compiled help file. In addition, to provide corresponding identifiers in the application program, a new executable for the application program is typically required. One attempt to externalize the help function from the application program is suggested by U.S. Pat. No. 5,581,684, issued to Dudzik et al. Such externalization permits the addition of help information after finalization of the application program without disturbing the basic application.
In many help systems, hyperlinks are provided within the help database. Hyperlinks are essentially an electronic link between selected sections of the help documentation. For example, in many Microsoft Windows(trademark) compatible application programs, selected words in the help database are colored, underlined, or otherwise distinguishable from the other text, indicating that the word is a hyperlink to another portion of the help database. By clicking on the hyperlink, the portion of the help database that describes the function or meaning of the word is displayed to the user. This provides an easy way for the user to gain an understanding of the word and/or function it represents within the software. Often, a xe2x80x9cBACKxe2x80x9d menu option is provided to return the user to the original location within the help database.
Hyperlinks are often implemented using a simple xe2x80x9cgotoxe2x80x9d type function. To support the hyperlinks, the help database is typically electronically xe2x80x9ctaggedxe2x80x9d, and each hyperlink is hardcoded with the desired tag name. When the hyperlink is activated, the help system jumps to the hardcoded location indicated in the hyperlink. The Microsoft Windows(trademark) help engine typically stores a return location to support a xe2x80x9cBACKxe2x80x9d function, which returns the user to an original location within the help database.
Prior art help systems suffer from a number of limitations, some of which are discussed below. First, each application program typically only includes help information that is related to its own operation. Thus, a user typically does not have access to help information for other application programs without manually opening up another in application program and scrolling through the help menu to find the appropriate information. This can be time consuming and tedious, for example, when the user desires assistance regarding the interoperability of different application programs within a single computer, or the interoperability of multiple applications hosted on multiple and heterogeneous computer platforms. Heterogeneous in this context means computer platforms having different software and system architectures. Oftentimes, such interoperability issues are completely outside the scope of all of the user documentation.
Second, most help systems typically only include a subset of the information that is available. For example, many application programs and operating systems have more extensive and detailed information in a user manual that is provided with the software. Thus, if the information required by the user is not within the help system of the application program, the user must manually locate the user manual and the appropriate information therein. In addition, and because the help database must typically be in a specific format before it can be accessed by the application program (e.g. compiled), help information that is not compatible with the help engine of the application program typically cannot be accessed by the user online. Thus, all help information that is not compatible with the help engine of the application program, such as an electronic version of a user manual, may not be accessed by the user from within the application program.
The present invention overcomes many of the disadvantages associated with the prior art by providing a hyperlink in a computer program help file that accesses help information that is not included with the computer program software. Although the present invention is described with reference to an application program, it is equally applicable to help systems for operating systems and the like.
In an illustrative embodiment of the present invention, a first application program help file is provided with a hyperlink in the conventional manner. Unlike the prior art, however, the hyperlink of the present invention has associated therewith a number of parameters including a name of an appropriate remote access macro. Also included with the hyperlink may be a number of ID codes or parameters that identify the location of a desired help file and a desired portion or section within the desired help file.
When a user activates the hyperlink of the present invention, the remote access macro that is referenced by the hyperlink is executed. Selected parameters provided by the hyperlink are passed to the remote access macro. Preferably, the remote access macro then opens an appropriate second application program that is capable of reading the desired help file. The remote access macro passes selected parameters to the newly opened second application program. The second application program uses the parameters to identify and open the appropriate help file or files and display the desired portion or section indicated by the parameters.
Preferably, the first application program is compatible with the Microsoft Windows(trademark) format. As indicated above, most Microsoft Windows(trademark) based application programs have compiled help files that are distributed with the corresponding application program. The help information is then displayed using a Microsoft Windows(trademark) help engine. The Microsoft Windows(trademark) help engine allows application developers to include specific code within the help files to execute macros or commands in the DOS or Windows(trademark) operating system. Further, the Microsoft Windows(trademark) help engine allows selected parameters to be passed to those macros. Thus, the Microsoft Windows(trademark) help engine is particularly suitable for the implementation of the present invention.
The Microsoft Windows(trademark) help engine is capable of interpreting tags or other code in the help files. These tags may correspond to a target address in a hyperlink operation. The Microsoft Windows(trademark) help engine includes functions for setting up and performing such hyperlink operations within a single help file.
The second application program, which is opened by the remote access macro, may be any application program that can read the desired help files. For example, the second application program may be another Microsoft compatible application. However, and in this case, the Windows(trademark) help engine in the second application program may have to be modified to receive the input parameters from the remote access macro. Finally, it is contemplated that the second application program may be the DynaText(trademark) Browser program, an internet browser program, a text editor, or any other program that can read and display help file information. Thus, it is contemplated that literally any type of computer program may be opened by the remote access macro to display the desired help information.
Although not required for providing a hyperlink in accordance with the present invention, it is recognized that for the hyperlink to identify a particular portion or section in the desired help file, the application program and/or remote access macro typically must have the capability to identify tags or other identifiers within the corresponding help file. Similarly, the help file must have tags or some other identifiers placed in the appropriate locations. If these requirements are met, the parameters passed to the second application program from the remote access macro may be used to identify a particular tag or identifier within the desired help file, and immediately display the desired section or portion of the desired help file.
The desired help files may be located either on the same data processing system as the original application program or on a different data processing system. When located on a different data processing system, the second application program preferably accesses the desired help files via a network or the like. An illustrative example of such a configuration may be when the second application program is an internet browser. In this configuration, the remote access macro may pass an internet address to the internet browser, and the internet browser may use the internet address to access the corresponding server or site, and display the desired help information on the local data processing system. It is contemplated that the internet browser may have the capability to identify a particular location within the desired help file.
One particular advantage of having a help database located at a remote site, such as an internet site, is that potentially more help information can be provided and maintained than is economically feasible if distributed with the software. For example, the entire user manual may be provided on-line at the software developers internet site. Likewise, help information relating to other software programs, and the interoperability therebetween may be provided. In addition to the ability to provide more information, it is also contemplated that the help information may be more easily updated by the software developer. For example, the software developer may change selected sections within the help database by including, for example, answers to frequently asked questions received from other users of the software.